/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package ec.edu.ups.cidi.siia.plamdep.ejecutor.GestionAlgoritmos;

import java.util.ArrayList;

import ec.edu.ups.cidi.siia.plamdep.utils.interfaces.*;
import ec.edu.ups.cidi.siia.plamdep.ejecutor.Servicios;
/**
 *
 * @author Usuario
 */
public class GestorAlgoritmos 
{
    //contenedores
    private static ArrayList<AlgComparacionContainer> comparacionAlgs=new ArrayList();
    private static ArrayList<AlgExtractorContainer> extractorAlgs=new ArrayList();
    //servicios
    public static  AlgoritmoComparacion getAlgoritmoComparacion(String nombreAlg)
    {
        for(AlgComparacionContainer ct:comparacionAlgs)
            if(ct.nombre.compareToIgnoreCase(nombreAlg)==0)
                return ct.getInstancia();
        return null;
    }
    public static  AlgoritmoExtraccion getAlgoritmoExtraccion(String nombreAlg)
    {
        for(AlgExtractorContainer ct:extractorAlgs)
        	if(ct.nombre.compareToIgnoreCase(nombreAlg)==0)
                return ct.getInstancia();
        
        return null;
    }
    public static void addAlgoritmoComparacion(AlgComparacionContainer alg)
    {
        alg.setAnalizador(Servicios.getAnalizadorLexico());
        GestorAlgoritmos.comparacionAlgs.add(alg);
    }
     public static void addAlgoritmoExtraccion(AlgExtractorContainer alg)
    {
        alg.setAnalizador(Servicios.getAnalizadorLexico());
        GestorAlgoritmos.extractorAlgs.add(alg);
    }
    public static void quitarAlgoritmos()
    {
    	extractorAlgs.removeAll(extractorAlgs);
    	comparacionAlgs.removeAll(comparacionAlgs);
    }
}
